/*
一个完整的http事务过程
    客户端访问服务器
    服务器对请求进行分析处理
    服务器对客户端进行响应
    客户端收到响应后，进行分析处理
*/

const http = require("http");
const url = require("url");
const fs = require("fs");

//搭载http服务器
const server = http.createServer();

//监听listening事件
server.on("listening",()=>{
    console.log("服务器启动，开始监听");
})

//监听请求事件   接收到请求就会触发该事件
//回调函数  参数1：request请求   参数2：response响应
server.on("request",(request,response)=>{
    console.log("接受到请求");
    console.log(request.url);

    //显示中文
    //response.write('<head><meta charset="utf-8"/></head>');

    //对request.url进行解析
    let urlobj = url.parse(request.url)
    //判断
    if(urlobj.pathname == "/"){
        fs.readFile("./yssc/index.html",(err,info)=>{
            response.write(info);
            response.end();
        });
    }
    else if(urlobj.pathname == "/imgs/yssc.png"){
        fs.readFile("./yssc/imgs/yssc.png",(err,info)=>{
            response.write(info);
            response.end();
        });
    }
    else if(urlobj.pathname == "/login"){
        response.write("登录页面")
        response.end();
    }else if(urlobj.pathname == "/about"){
        response.write("关于页面")
        response.end();
    }else{
        response.write(JSON.stringify({
            "name":"zhangshang",
            "age":20,
            "play":"zuoyuxi"
        }))
        response.end();
    }

    //页面写入
    //response.write("hello world");
    //发送   服务器对客户端进行响应
    //response.end();
})

//启动服务器    服务器启动后一直在监听有没有被访问
//参数1：端口号   参数2：域名
server.listen("8080","localhost")
